home *** CD-ROM | disk | FTP | other *** search
-
-
-
-
-
-
- Network Working Group N. Borenstein, Bellcore
- Request for Comments: 1344 June 1992
-
- Implications of MIME for Internet Mail Gateways
-
-
- Status of This Memo
-
- This is an informational memo for the Internet community,
- and requests discussion and suggestions for improvements.
- This memo does not specify an Internet standard.
- Distribution of this memo is unlimited.
-
- Abstract
-
- The recent development of MIME (Multipurpose Internet Mail
- Extensions) offers a wide range of new opportunities for
- electronic mail system systems. Most of these opportunites
- are relevant only to user agents, the programs that interact
- with human users when they send and receive mail. However,
- some opportunities are also opened up for mail transport
- systems. While MIME was carefully designed so that it does
- not require any changes to Internet electronic message
- transport facilities, there are several ways in which
- message transport systems may want to take advantage of
- MIME. These opportunities are the subject of this memo.
-
- Background -- The MIME Format
-
- Recently, a new standardized format has been defined for
- enhanced electronic mail messages on the Internet. This
- format, known as MIME, permits messages to include, in a
- standardized manner, non-ASCII text, images, audio, and a
- variety of other kinds of interesting data.
-
- The MIME effort was explicitly focused on requiring
- absolutely no changes at the message transport level.
- Because of this fact, MIME-format mail runs transparently on
- all known Internet or Internet-style mail systems. This
- means that those concerned solely with the maintenance and
- development of message transport services can safely ignore
- MIME completely, if they so choose.
-
- However, the fact that MIME can be ignored, for the purpose
- of message transport, does not necessarily mean that it
- should be ignored. In particular, MIME offers several
- features that should be of interest to those responsible for
- message transport services. By exploiting these features,
- transport systems can provide certain additional kinds of
- service that are currently unavailable, and can alleviate a
- few existing problems.
-
- The remainder of this document is an attempt to briefly
- point out and summarize some important ways in which MIME
-
-
-
- Borenstein [Page 1]
-
-
-
-
- RFC 1344 MIME and Mail Gateways June 1992
-
-
- may be of use for message transport systems. This document
- makes no attempt to present a complete technical description
- of MIME, however. For that, the reader is refered to the
- MIME document itself [RFC-1341].
-
- Mail Transport and Gateway Services: A Key Distinction
-
- Before implementing any of the mechanisms discussed in this
- memo, one should be familiar with the distinction between
- mail transport service and mail gateway service. Basically,
- mail transport software is responsible for moving a message
- within a homogeneous electronic mail service network. Mail
- gateways, on the other hand, exchange mail between two
- significantly different mail environments, including via
- non-electronic services, such as postal mail.
-
- In general, it is widely considered unacceptable for mail
- transport services to alter the contents of messages. In
- the case of mail gateways, however, such alteration is often
- inevitable. Thus, strictly speaking, many of the mechanisms
- described here apply only to gateways, and should not be
- used in simple mail transport systems. However, it is
- possible that some very special situations -- e.g., an SMTP
- relay that transports mail across extremely expensive
- intercontinental network links -- might need to modify
- messages, in order to provide appropriate service for those
- situations, and hence must redefine its role to be that of a
- gateway.
-
- In this memo, it is assumed that transformations which alter
- a message's contents will be performed only by gateways, but
- it is recognized that some existing mail transport agents
- may choose to reclassify themselves as gateways in order to
- perform the functions described here.
-
- Rejected Messages
-
- An unfortunately frequent duty of message transport services
- is the rejection of mail to the sender. This may happen
- because the mail was undeliverable, or because it did not
- conform to the requirements of a gateway (e.g., it was too
- large).
-
- There has never been a standard format for rejected messages
- in the past. This has been an annoyance, but not a major
- problem for text messages. For non-text messages, however,
- the lack of a standard rejection format is more crucial,
- because rejected messages typically appear to be text, and
- the user who finds himself viewing images or audio as if
- they were text is rarely happy with the result.
-
- MIME makes it very easy to encapsulate messages in such a
- way that their semantics are completely preserved. The
- simplest way to do this is to make each rejection notice a
-
-
-
- Borenstein [Page 2]
-
-
-
-
- RFC 1344 MIME and Mail Gateways June 1992
-
-
- MIME "multipart/mixed" message. That multipart message
- would contain two parts, a text part explaining the reason
- for the rejection, and an encapsulated message part that
- contained the rejected message itself.
-
- It should be stressed that the transport software does not
- need to understand the structure of the rejected message at
- all. It merely needs to encapsulate it properly. The
- following, for example, shows how any MIME message may be
- encapsulated in a rejection message in such a way that all
- information will be immediately visible in the correct form
- if the recipient reads it with a MIME-conformant mail
- reader:
-
- From: Mailer-Daemon <daemon@somewhere.com>
- Subject: Rejected Message
- Content-type: multipart/mixed; boundary=unique-boundary
-
- --unique-boundary
- Content-type: text/plain; charset=us-ascii
-
- A mail message you sent was rejected. The details of
- the rejected message are as follows:
-
- From: Nathainel Borenstein <nsb@bellcore.com>
- Message-ID: <12345@bellcore.com>
- To: bush@whitehouse.gov
- Subject: I know my rights!
- Rejection-reason: No mail from libertarians is
- accepted.
-
- The original message follows below.
- --unique-boundary
- Content-type: message/rfc822
-
- The ENTIRE REJECTED MESSAGE, starting with the headers,
- goes here.
-
- --unique-boundary--
- In the above example, the ONLY thing that is not
- 'boilerplate" is the choice of boundary string. The phrase
- "unique-boundary" should be replaced by a string that does
- not appear (prefixed by two hyphens) in any of the body
- parts.
-
- Encapsulating a message in this manner is very easily done,
- and will constitute a significant service that message
- transport services can perform for MIME users.
-
- IMPORTANT NOTE: The format given above is simply one of
- many possible ways to format a rejection message using MIME.
- Independent IETF efforts are needed in order to standardize
- the format of rejections and acknowledgements.
-
-
-
-
- Borenstein [Page 3]
-
-
-
-
- RFC 1344 MIME and Mail Gateways June 1992
-
-
- Fragmenting and Reassembling Large Messages
-
- One problem that occurs with increasing frequency in
- Internet mail is the rejection of messages because of size
- limitations. This problem can be expected to grow
- substantially more severe with the acceptance of MIME, as
- MIME invites the use of very large objects such as images
- and audio clips. Fortunately, MIME also provides mechanisms
- that can help alleviate the problem.
-
- One particularly relevant MIME type is "message/partial",
- which can be used for the automatic fragmentation and
- reassembly of large mail messages. The message/partial type
- can be handled entirely at the user agent level, but message
- transport services can also make use of this type to provide
- more intelligent behavior at gateways.
-
- In particular, when gatewaying mail to or from a system or
- network known to enforce size limitations that are more or
- less stringent than are enforced locally, message transport
- services might choose either to break a large message into
- fragments, or (perhaps less likely) to reassemble fragments
- into a larger message. The combination of these two
- behaviors can make the overall Internet mail environment
- appear more complete and seamless than it actually is.
-
- Details on the message/partial format may be found in the
- MIME document. What follows is an example of how a simple
- short message might be broken into two message/partial
- messages. In practice, of course, the message/partial
- facility would only be likely to be used for much longer
- messages.
-
- The following initial message:
-
- From: Nathaniel Borenstein <nsb@bellcore.com>
- To: Ned Freed: <ned@innosoft.com>
- Subject: a test message
- Content-type: image/gif
- Content-Transfer-Encoding: base64
-
- R0lGODdhQAGMAbMAAAAAAP/u7swzIu6ZiLsiEd1EM+5VRGaI3WYAAO67qkRV
- uwARd6q7/ywAAAAAQAGMAUME/hDISau9OOvNu/9gKI6kRJwoUa5s675wLM90l
- XW5YKxqPyKRygxv2dr4czwlMCZrQLFTYHBJ2hlyQYFiaz+i0WWBou7fOq1x8vXWfU
- qU1fJ2qEhYaHGjhZQmJ2QT1xBW1ak1xUdV0/VjtsbpUEDaEJCQOIpqeoNV+LXo5W
- fVN3dZKceAQPvgyhwQ2lqcXGxx5wja59eJIGUNCszF90sYp50CoqFZ4DoqMMo6M
-
- can be transformed, invertibly, into the following two
- message/partial messages:
-
-
- From: Nathaniel Borenstein <nsb@bellcore.com>
-
-
-
-
-
- Borenstein [Page 4]
-
-
-
-
- RFC 1344 MIME and Mail Gateways June 1992
-
-
- To: Ned Freed <ned@innosoft.com>
- Subject: a test message
- Content-type: message/partial; id="xyx@host.com";
- number=1; total=2
-
- Content-type: image/gif
- Content-Transfer-Encoding: base64
-
- R0lGODdhQAGMAbMAAAAAAP/u7swzIu6ZiLsiEd1EM+5VRGaI3WYAAO67qkRV
-
- and
-
- From: Nathaniel Borenstein <nsb@bellcore.com>
- To: Ned Freed <ned@innosoft.com>
- Subject: a test message
- Content-type: message/partial; id="xyx@host.com";
- number=2; total=2
-
- uwARd6q7/ywAAAAAQAGMAUME/hDISau9OOvNu/9gKI6kRJwoUa5s675wLM90l
- XW5YKxqPyKRygxv2dr4czwlMCZrQLFTYHBJ2hlyQYFiaz+i0WWBou7fOq1x8vXWfU
- qU1fJ2qEhYaHGjhZQmJ2QT1xBW1ak1xUdV0/VjtsbpUEDaEJCQOIpqeoNV+LXo5W
- fVN3dZKceAQPvgyhwQ2lqcXGxx5wja59eJIGUNCszF90sYp50CoqFZ4DoqMMo6M
-
- Fragmenting such messages rather than rejecting them might
- be a reasonable option for some gateway services, at least
- for a certain range of message sizes. Of course, it is
- often difficult for a gateway to know what size limitations
- will be encountered "downstream", but intelligent guesses
- are often possible. Moreover, an IETF working group on SMTP
- extensions has proposed augmenting SMTP with a "SIZE" verb
- that would facilitate this process, thereby possibly
- requiring fragmentation on the fly during message
- transmission.
-
- Note also that fragmentation or reassembly might reasonably
- be performed, in differing circumstances, by either the
- sending or receiving gateway systems, depending on which
- system knew more about the capabilities of the other.
-
- Using or Removing External-Body Pointers
-
- Another MIME type oriented to extremely large messages is
- the "message/external-body" type. In this type of message,
- all or part of the body data is not included in the actual
- message itself. Instead, the Content-Type header field
- includes information that tells how the body data can be
- retrieved -- either via a file system, via anonymous ftp, or
- via other mechanisms.
-
- The message/external-body type provides a new option for
- mail transport services that wishes to optimize the way
- bandwidth resources are used in a given environment. For
- example, the basic use of message/external-body is to reduce
- bandwidth in email traffic. However, when email crosses a
-
-
-
- Borenstein [Page 5]
-
-
-
-
- RFC 1344 MIME and Mail Gateways June 1992
-
-
- slow and expensive boundary -- e.g., a satellite link across
- the Pacific -- it might make sense to retrieve the data
- itself and transform the external-body reference into the
- actual data. Alternately, it might make sense to copy the
- data itself to a new location, closer to the message
- recipients, and change the location pointed to in the
- message. Because the external-body specification can
- include an expiration date, message transport services can
- trade off storage and bandwidth capabilities to try to
- optimize the overall use of resources for very large
- messages.
-
- Such behaviors by a gateway require careful analysis of
- cost/benefit tradeoffs and would be a dramatic departure
- from typical mail transport services. However, the
- potential benefits are quite significant, so that such the
- appropriate use of these service options should be explored.
-
- For example, the following message includes PostScript data
- by external reference:
-
- From: Nathaniel Borenstein <nsb@bellcore.com>
- To: Ned Freed <ned@innosoft.com>
- Subject: The latest MIME draft
- Content-Type: message/external-body;
- name="BodyFormats.ps";
- site="thumper.bellcore.com";
- access-type=ANON-FTP;
- directory="pub";
- mode="image";
- expiration="Fri, 14 Jun 1991 19:13:14 -0400 (EDT)"
-
- Content-type: application/postscript
-
- A gateway to Australia might choose to copy the file to an
- Australian FTP archive, changing the relevant parameters on
- the Content-type header field. Alternately, it might choose
- simply to transform the message into one in which all the
- data were included:
-
- From: Nathaniel Borenstein <nsb@bellcore.com>
- To: Ned Freed <ned@innosoft.com>
- Subject: The latest MIME draft
- Content-type: application/postscript
-
- %!PS-Adobe-1.0
- %%Creator: greenbush:nsb (Nathaniel Borenstein,MRE 2A-
- 274,4270,9938586,21462)
- etc...
-
- This is an example which suggests both the benefits and the
- dangers. There is considerable benefit to having a copy of
- the data immediately available, but there also may be
- considerable expense involved in transporting it to all of
-
-
-
- Borenstein [Page 6]
-
-
-
-
- RFC 1344 MIME and Mail Gateways June 1992
-
-
- a the members of a list, if only a few will use the data
- anytime soon.
-
- Alternatively, instead of replacing an external-body message
- with its real contents, it might make sense to transform it
- into a "multipart/alternative" message containing both the
- external body reference and the expanded version. This
- means that only the external body part can be forwarded if
- desired, and the recipient doesn't lose the information as
- to where the data was fetched from, if they want to fetch an
- up-to-date version in the future. Such information could be
- represented, in MIME, in the following form:
-
- From: Nathaniel Borenstein <nsb@bellcore.com>
- To: Ned Freed <ned@innosoft.com>
- Subject: The latest MIME draft
- Content-type: multipart/alternative; boundary=foo
-
- --foo
- Content-Type: message/external-body;
- name="BodyFormats.ps";
- site="thumper.bellcore.com";
- access-type=ANON-FTP;
- directory="pub";
- mode="image";
- expiration="Fri, 14 Jun 1991 19:13:14 -0400 (EDT)"
-
- Content-type: application/postscript
- --foo
- Content-type: application/postscript
-
- %!PS-Adobe-1.0
- %%Creator: greenbush:nsb (Nathaniel Borenstein,MRE 2A-
- 274,4270,9938586,21462)
- etc...
- --foo--
-
- Similarly for the case where a message is copied to a local
- FTP site, one could offer two external body parts as the
- alternatives, allowing the user agent to choose which FTP
- site is preferred.
-
- Image and other Format Conversions
-
- MIME currently defines two image formats, image/gif and
- image/jpeg. The former is much more convenient for many
- users, and can be displayed more quickly on many systems.
- The latter is a much more compact representation, and
- therfore places less stress on mail transport facilities.
-
- Message transport services can optimize both transport
- bandwidth and user convenience by intelligent translation
- between these formats (and other formats that might be added
- later). When a message of type image/gif is submitted for
-
-
-
- Borenstein [Page 7]
-
-
-
-
- RFC 1344 MIME and Mail Gateways June 1992
-
-
- long-haul delivery, it might reasonably be translated to
- image/jpeg. Conversely, when image/jpeg data is received
- for final delivery on a system with adequate storage
- resources, it might be translated to image/gif for the
- convenience of the recipient. Software to perform these
- translations is widely available. It should be noted,
- however, that performance of such conversions presumes
- support for the new format by the recipient.
-
- Although MIME currently only defines one audio format, more
- are likely to be defined and registered with IANA in the
- future. In that case, similar format conversion facilities
- might be appropriate for audio.
-
- If format conversion is done, it is STRONGLY RECOMMENDED
- that some kind of trace information (probably in the form of
- a Received header field) should be added to a message to
- document the conversion that has been performed.
-
- Some people have expressed concerns, or even the opinion
- that conversions should never be done. To accomodate the
- desires of those who dislike the idea of automatic format
- conversion. For this reason, it is suggested that such
- transformations be generally restricted to gateways rather
- than general message transport services, and that services
- which perform such conversions should be sensitive to a
- header field that indicates that the sender does not wish to
- have any such conversions performed. A suggested value for
- this header field is:
-
- Content-Conversion: prohibited
-
- User agents that wish to explicitly indicate a willingness
- for such conversions to be performed may use:
-
- Content-Conversion: permitted
-
- However, this will be the default assumption of many
- gateways, so this header field is not strictly necessary.
- It also should be noted that such control of conversion
- would only be available to the sender, rather than to any of
- the recipients.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Borenstein [Page 8]
-
-
-
-
- RFC 1344 MIME and Mail Gateways June 1992
-
-
- Robust Encoding of Data
-
- In addition to all the reasons given above for possible
- transformation of body data, it will sometimes be the case
- that a gateway can tell that the body data, as given, will
- not robustly survive the next step of transport. For
- example, mail crossing an ASCII-to-EBCDIC gateway will lose
- information if certain characters are used. In such cases,
- a gateway can make the data more robust simply by applying
- one of the MIME Content-Transfer-Encoding algorithms (base64
- or quoted-printable) to the body or body part. This will
- generally be a loss-less transformation, but care must be
- taken to ensure that the resulting message is MIME-
- conformant if the inital message was not. (For example, a
- MIME-Version header field may need to be added.)
-
- User-oriented concerns
-
- If a gateway is going to perform major transformations on a
- mail message, such as translating image formats or mapping
- between included data and external-reference data, it seems
- inevitable that there will be situations in which users will
- object to these transformations. This is, in large part, an
- implementation issue, but it seems advisable, wherever
- possible, to provide a mechanism whereby users can specify,
- to the transport system, whether or not they want such
- services performed automatically on their behalf. The use of
- the "Content-Conversion" header field, as mentioned above,
- is suggested for this purpose, since it it least provides
- some control by the sender, if not the recipient.
-
- References
-
- [RFC-1341] Borenstein, N., and N. Freed, "MIME
- (Multipurpose Internet Mail Extensions): Mechanisms for
- Specifying and Describing the Format of Internet Message
- Bodies", RFC 1341, Bellcore, June, 1992.
-
- Security Considerations
-
- Security issues are not discussed in this memo.
-
- Author's Address
-
- Nathaniel S. Borenstein
- MRE 2D-296, Bellcore
- 445 South St.
- Morristown, NJ 07962-1910
-
- Email: nsb@bellcore.com
- Phone: +1 201 829 4270
- Fax: +1 201 829 7019
-
-
-
-
-
- Borenstein [Page 9]
-
-
-